package com.bt.vo;

import com.bt.entity.SysUser;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.PropertyNamingStrategy;
import com.fasterxml.jackson.databind.annotation.JsonNaming;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;

/**
 * @Description TODO
 * @Author 青
 * @Date 2023-05-01 1:39
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class)//下划线驼峰命名转化
public class SysUserVO extends SysUser {
    @ApiModelProperty(value = "编号")
    private String id;

    @ApiModelProperty(value = "登录名")
    private String loginName;

    @ApiModelProperty(value = "密码")
    private String password;

    @ApiModelProperty(value = "姓名")
    private String name;

    @ApiModelProperty(value = "邮箱")
    private String email;

    @ApiModelProperty(value = "电话")
    private String phone;

    @ApiModelProperty(value = "最后登陆IP")
    private String loginIp;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "最后登陆时间")
    private Date loginDate;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建时间")
    private Date createDate;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "更新时间")
    private Date updateDate;

    @ApiModelProperty(value = "删除标记")
    private String delFlag;

    @ApiModelProperty(value = "角色ID")
    private String roleId;

    @ApiModelProperty(value = "状态 1 正常  0 冻结")
    private Integer status;

    private String rolename;

//    public SysUserVO(String id, String loginName, String password, String name, String email, String phone, String loginIp,
//                     Date loginDate, Date createDate, Date updateDate, String roleId, Integer status, String defaultData) {
//            this.id = id;
//            this.loginName =loginName;
//            this.password=password;
//            this.name = name;
//            this.email = email;
//            this.phone = phone;
//            this.loginIp = loginIp;
//            this.loginDate = loginDate;
//            this.createDate = createDate;
//            this.updateDate= updateDate;
//            this.roleId =roleId;
//            this.status = status;
//            this.de
//    }
}
